import requests
import re
'''
一般视频网站怎么做：
用户上传 ——> 转码（把视频做处理，4k，1080，高清）——> 切片处理（把单个的文件进行拆分，比如把一小时的文件切分成60个，是为了让用户在拉取进度条的时候减少加载压力，
此时需要一个文件记录：1、视频播放顺序，2、视频存放路径，把拆分好的文件一般放在M3U（M3U8）文件里）

'''

'''
想要抓取一个视频：
    1.找到M3U8文件（各种手段）
    2.通过M3U8文件下载到ts文件
    3.可以通过各种手段（不仅仅是编程手段）把ts文件合并为一个mp4文件
'''

# url = 'https://www.91kanju.com/vod-play/54812-1-1.html'
# res = requests.get(url)
#
# obj = re.compile(r"url: '(?P<url>.*?)',",re.S)
# m3u8_url = obj.search(res.text).group("url")
#
# # 下载m3u8文件
# res_m3u8 = requests.get(m3u8_url)
#
# with open(r'D:\ui\reptile\coroutines\data\哲仁王后.m3u8','wb') as f:
#     f.write(res_m3u8.content)
#
# res_m3u8.close()

n = 1
with open(r'D:\ui\reptile\coroutines\data\哲仁王后.m3u8','r',encoding='utf-8') as f:
    for lines in f:
        line = lines.strip()  # 先去掉空格、空白、换行符
        if line.startswith("#"):   # 如果以#开头，不要
            continue

        # 下载视频片段
        respon_movie = requests.get(line)
        file = open(r'D:\ui\reptile\coroutines\data\video\%s.ts'%n,'wb')
        file.write(respon_movie.content)
        file.close()
        respon_movie.close()
        n += 1
        print('完成了一个!')







